package cn.iocoder.yudao.module.asasc.dal.dataobject.salesreport;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * ASA管理系统 DO
 *
 * @author 管理员
 */
@TableName("asc_sales_report")
@KeySequence("asc_sales_report_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalesReportDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Integer id;
    /**
     * 账号
     */
    private Long orgId;
    /**
     * 提供者
     */
    private String provider;
    /**
     * 应用发布国家
     */
    private String providerCountry;
    /**
     * SKU
     */
    private String sku;
    /**
     * 开发者
     */
    private String developer;
    /**
     * 产品名称
     */
    private String title;
    /**
     * 版本
     */
    private String version;
    /**
     * 产品标识 <a href="https://developer.apple.com/help/app-store-connect/reference/product-type-identifiers">...</a>
     */
    private String productTypeIdentifier;
    /**
     * 安装数
     */
    private Integer units;
    /**
     * 原币收入单价 = 原币收入单价 x -1
     */
    private BigDecimal developerProceeds;
    /**
     * 美元订阅收入总额(数量 x 单价 x -1)
     */
    private BigDecimal developerProceedsUsd;
    /**
     * 开始日期
     */
    private LocalDate beginDate;
    /**
     * 结束日期
     */
    private LocalDate endDate;
    /**
     * 货币符号
     */
    private String customerCurrency;
    /**
     * 国家
     */
    private String countryCode;
    /**
     * 货币符号2
     */
    private String currencyOfProceeds;
    /**
     * 产品 ID
     */
    private String appleIdentifier;
    /**
     * 原币销售单价 = 原币销售单价 x -1
     */
    private BigDecimal customerPrice;
    /**
     * 美元销售总额(数量 x 单价 x -1)
     */
    private BigDecimal customerPriceUsd;
    /**
     * 推广码
     */
    private String promoCode;
    /**
     * 父应用
     */
    private String parentIdentifier;
    /**
     * 订阅类型
     */
    private String subscription;
    /**
     * 订阅周期
     */
    private String period;
    /**
     * 分类
     */
    private String category;
    /**
     * CMB
     */
    private String cmb;
    /**
     * 设备类型
     */
    private String device;
    /**
     * 系统
     */
    private String supportedPlatforms;
    /**
     * 原因
     */
    private String proceedsReason;
    /**
     * 退款
     */
    private String preservedPricing;
    /**
     * 客户端
     */
    private String client;
    /**
     * 订单类型
     */
    private String orderType;

    /**
     * hash 值
     */
    private String hash;
}